MYBATIS 您所在的位置:网站首页 mybatis page分页查询效率 MYBATIS

MYBATIS

2023-05-29 17:01| 来源: 网络整理| 查看: 265

MYBATIS-PLUS实现只查询指定列数据以及如何联表查询 原创

蓉185 2023-05-22 10:33:11 博主文章分类:Java ©著作权

文章标签 MYBATIS-PLUS 联表查询 文章分类 Java 后端开发 yyds干货盘点

©著作权归作者所有:来自51CTO博客作者蓉185的原创作品,请联系作者获取转载授权,否则将追究法律责任

 一、MYBATIS-PLUS大多都是针对列全部查询,但是如果我们只需要几个字段怎么办呢?

解决方案:

 1:在QUERYWRAPPER中过滤字段(个人认为这种适合处理简单的操作)

 2:中规中矩的使用MAPPER.XML来处理,这么做还可以解决MP不能联表查询的问题

 3:不太建议的解决方案     太繁琐,要分类建实体     一个字   麻烦 (以下这3点)

1、声明该字段是 transient 的2、声明该字段是 static 的3、通过注解声明该字段不是一个数据库表里面的字段

1、以下是第一种解决方案

1. /** 2. * 名字包含雨并且年龄小于40 3. 4. * 只显示id、name 两列 5. */ 6. @Test 7. public void selectByWrapper1() { 8. wrapper = new QueryWrapper(); 9. wrapper.like("name", "雨").lt("age", 40) 10. .select("id","name"); 11. users = userMapper.selectList(wrapper); 12. users.forEach(System.out::println); 13. } 14. 15. /** 16. * 名字包含雨并且年龄小于40 17. 18. * 除了create_time、manager_id 其他列都显示 19. */ 20. @Test 21. public void selectByWrapper2() { 22. wrapper = new QueryWrapper(); 23. wrapper.like("name", "雨").lt("age", 40) 24. .select(User.class,i -> !i.getColumn().equals("create_time") 25. && !i.getColumn().equals("manager_id")); 26. users = userMapper.selectList(wrapper); 27. users.forEach(System.out::println); 28. }

解决方案二、 通过xml配置,也就是相当于用mybatis

MYBATIPLUS文档 官方文档里面也做介绍,版本需要大于3.0.7 官方链接:使用 Wrapper 自定义SQL

收藏 评论 分享 举报

上一篇:设置Tomcat生成的日志文件编码格式为UTF-8

下一篇:正则表达式-匹配中英文、字母和数字



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有